package org.jeecg.modules.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: app_user_device_log
 * @Author: jeecg-boot
 * @Date: 2025-05-24
 * @Version: V1.0
 */
@Data
@TableName("app_user_device_log")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "app_user_device_log对象", description = "app_user_device_log")
public class AppUserDeviceLog implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
    /**
     * 用户id
     */
    @Excel(name = "用户id", width = 15)
    @ApiModelProperty(value = "用户id")
    private String userId;
    /**
     * 设备id
     */
    @Excel(name = "设备id", width = 15)
    @ApiModelProperty(value = "设备id")
    private String deviceId;
    /**
     * 版本号
     */
    @Excel(name = "版本号", width = 15)
    @ApiModelProperty(value = "版本号")
    private String versionCode;
    /**
     * 网络型号
     */
    @Excel(name = "网络型号", width = 15)
    @ApiModelProperty(value = "网络型号")
    private String networkType;
    /**
     * cpu型号
     */
    @Excel(name = "cpu型号", width = 15)
    @ApiModelProperty(value = "cpu型号")
    private String cpuAbi;
    /**
     * 系统版本
     */
    @Excel(name = "系统版本", width = 15)
    @ApiModelProperty(value = "系统版本")
    private String systemVersion;
    /**
     * 手机型号
     */
    @Excel(name = "手机型号", width = 15)
    @ApiModelProperty(value = "手机型号")
    private String manufacturer;
    /**
     * 安卓id
     */
    @Excel(name = "安卓id", width = 15)
    @ApiModelProperty(value = "安卓id")
    private String androidId;
    /**
     * oaId
     */
    @Excel(name = "oaId", width = 15)
    @ApiModelProperty(value = "oaId")
    private String oaId;
    /**
     * imei
     */
    @Excel(name = "imei", width = 15)
    @ApiModelProperty(value = "imei")
    private String imei;
    /**
     * VPN连接状态
     */
    @Excel(name = "VPN连接状态", width = 15)
    @ApiModelProperty(value = "VPN连接状态")
    private String vpnStatus;
    /**
     * USB状态
     */
    @Excel(name = "USB状态", width = 15)
    @ApiModelProperty(value = "USB状态")
    private String usbStatus;
    /**
     * USB配置模式
     */
    @Excel(name = "USB配置模式", width = 15)
    @ApiModelProperty(value = "USB配置模式")
    private String usbConfig;
    /**
     * ADB调试是否开启
     */
    @Excel(name = "ADB调试是否开启", width = 15)
    @ApiModelProperty(value = "ADB调试是否开启")
    private String adbStatus;
    /**
     * SIM卡状态
     */
    @Excel(name = "SIM卡状态", width = 15)
    @ApiModelProperty(value = "SIM卡状态")
    private String simStatus;
    /**
     * launcher
     */
    @Excel(name = "launcher", width = 15)
    @ApiModelProperty(value = "launcher")
    private String launcher;
    /**
     * 是否模拟器
     */
    @Excel(name = "是否模拟器", width = 15)
    @ApiModelProperty(value = "是否模拟器")
    private String simulator;
    /**
     * 电池电量
     */
    @Excel(name = "电池电量", width = 15)
    @ApiModelProperty(value = "电池电量")
    private Double batteryLevel;
    /**
     * 是否运行在多开/分身环境中
     */
    @Excel(name = "是否运行在多开/分身环境中", width = 15)
    @ApiModelProperty(value = "是否运行在多开/分身环境中")
    private String runningInVirtualSpace;
    /**
     * 是否脚本
     */
    @Excel(name = "是否脚本", width = 15)
    @ApiModelProperty(value = "是否脚本")
    private String script;

    /**
     * 手机型号
     */
    @Excel(name = "手机型号", width = 15)
    @ApiModelProperty(value = "手机型号")
    private String model;
    /**
     * 设备存储容量
     */
    @Excel(name = "设备存储容量", width = 15)
    @ApiModelProperty(value = "设备存储容量")
    private Double capacitySize;
    /**
     * 设备可用存储容量
     */
    @Excel(name = "设备可用存储容量", width = 15)
    @ApiModelProperty(value = "设备可用存储容量")
    private Double freeSpace;
    /**
     * 设备存储数量
     */
    @Excel(name = "设备存储数量", width = 15)
    @ApiModelProperty(value = "设备存储数量")
    private Integer capacityNum;
    /**
     * 请求路径
     */
    @Excel(name = "请求路径", width = 15)
    @ApiModelProperty(value = "请求路径")
    private String requestUrl;

    @ApiModelProperty(value = "ip地址")
    private String ip;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 创建日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**
     * 更新日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
}
